project(CoreExamples)

# eigen support
INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR})

# 数学基础验证
ADD_EXECUTABLE(Vtk_MathBasic Vtk_MathBasic.cpp)
TARGET_LINK_LIBRARIES(Vtk_MathBasic ${VTK_LIBRARIES})

ADD_EXECUTABLE(Vtk_TransformEulerZyx Vtk_TransformEulerZyx.cpp)
TARGET_LINK_LIBRARIES(Vtk_TransformEulerZyx ${VTK_LIBRARIES})

ADD_EXECUTABLE(Vtk_PerspectiveTransform Vtk_PerspectiveTransform.cpp)
TARGET_LINK_LIBRARIES(Vtk_PerspectiveTransform ${VTK_LIBRARIES})

ADD_EXECUTABLE(Vtk_ActorRotate Vtk_ActorRotate.cpp)
TARGET_LINK_LIBRARIES(Vtk_ActorRotate ${VTK_LIBRARIES})

ADD_EXECUTABLE(Vtk_PlaneCoord Vtk_PlaneCoord.cpp)
TARGET_LINK_LIBRARIES(Vtk_PlaneCoord ${VTK_LIBRARIES})
vtk_module_autoinit(TARGETS Vtk_PlaneCoord MODULES ${VTK_LIBRARIES})

ADD_EXECUTABLE(Vtk_PlaneRotate Vtk_PlaneRotate.cpp)
TARGET_LINK_LIBRARIES(Vtk_PlaneRotate ${VTK_LIBRARIES})
vtk_module_autoinit(TARGETS Vtk_PlaneRotate MODULES ${VTK_LIBRARIES})

# Ax = b
add_executable(Vtk_LeastSquares Vtk_LeastSquares.cpp )
  target_link_libraries(Vtk_LeastSquares PRIVATE ${VTK_LIBRARIES}
)
vtk_module_autoinit(TARGETS Vtk_LeastSquares MODULES ${VTK_LIBRARIES})
